package com.yndsoft.jc.supplier.net;

import com.yndsoft.jc.model.ReturnMsg;

import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import rx.Observable;

public interface ApiService {

    String BASE_URL = "http://111.231.140.198:8081/";

    // Json数据提交
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> put(@Query("type") String type, @Query("json") String json);

    // 验证码
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> verifyCode(@Query("type") String type, @Query("phone") String phone, @Query("otype") int otype);

    // 上传图片
    @FormUrlEncoded
    @POST("UploadImgHandler.ashx")
    Observable<ReturnMsg> uploadImg(@Field("pic_data") String pic_data);

    // 管理员主页
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> supplierInfo(@Query("type") String type, @Query("sid") String sid);

    // 管理员订单列表
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> supplierOrder(
            @Query("type") String type,
            @Query("sid") String sid,
            @Query("tid") int tid,
            @Query("index") int index,
            @Query("size") int size
    );

    // 录入员审核员订单列表
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> otherOrder(
            @Query("type") String type,
            @Query("sid") String sid,
            @Query("index") int index,
            @Query("size") int size
    );

    // 订单详情
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> supplierOrderDetail(@Query("type") String type, @Query("sid") String sid, @Query("id") String id);

    // 检测机构管理员订单收货
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> orderWait(@Query("type") String type, @Query("id") String id, @Query("sid") String sid);

    // 评价列表
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> supplierComment(
            @Query("type") String type,
            @Query("sid") String sid,
            @Query("index") int index,
            @Query("size") int size
    );

    // 假期/联系人列表
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> supplierHoliday(@Query("type") String type, @Query("sid") String sid);

    // 录入员/审核员列表
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> supplierEntry(@Query("type") String type, @Query("sid") String sid, @Query("tid") int tid);

    // 省
    @GET("WsAPP/CommHandler.ashx")
    Observable<ReturnMsg> province(@Query("type") String type);

    // 市/区
    @GET("WsAPP/CommHandler.ashx")
    Observable<ReturnMsg> city(@Query("type") String type, @Query("pid") int pid);

    // 完善项目列表
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> perfectList(
            @Query("type") String type,
            @Query("sid") String sid,
            @Query("index") int index,
            @Query("size") int size
    );

    // 项目删除
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> perfectDelete(@Query("type") String type, @Query("id") String id, @Query("sid") String sid);

    // 项目类别
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> category(@Query("type") String type);

    // 项目产品
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> product(
            @Query("type") String type,
            @Query("pid") String pid,
            @Query("index") int index,
            @Query("size") int size
    );

    // 产品属性
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> productAttribute(@Query("type") String type, @Query("id") String id);

    // 假期列表 联系人 录入员 审核员 删除
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> hrDelete(@Query("type") String type, @Query("id") String id, @Query("sid") String sid);

    // 检测机构录入员录入订单信息 审核员审核订单信息
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> entrySignOrder(
            @Query("type") String type,
            @Query("id") String id,
            @Query("sid") String sid,
            @Query("json") String json
    );

    // 检测机构录入员查看订单明细信息
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> entryDetail(
            @Query("type") String type,
            @Query("id") String id,
            @Query("odetid") String odetid,
            @Query("sid") String sid
    );
}